// Person.prototype.like = '泡脚'
// Person.say = function () {
//   return 'hello'
// }
// function Person() {
//   this.name = '梁总'
//   this.age = 18
// }

// let p = new Person()
// console.log(p);     // Person { name: '梁总', age: 18 }
// console.log(p.like);    // 泡脚
// console.log(p.say);     // undefined
// console.log(Person.say());    //hello


// class Person {
//   constructor(name, age) {
//     this.name = '梁总'
//     this.age = 18
//   }
//   like() {
//     return `${this.name}爱泡脚`
//   }
//   static say() {
//     return 'hello'
//   }
// }
// let p = new Person()
// console.log(p);     // Person { name: '梁总', age: 18 }
// console.log(p.like());    // 梁总爱泡脚
// console.log(p.say);     // undefined
// console.log(Person.say());    //hello



// let s1 = new SingleDog()
// let s2 = new SingleDog()


// console.log(s1 === s2);  // false


class SingleDog {
  show() {
    console.log('我是一个单身狗');
  }
}

SingleDog.getInstance = (function () {
  let instance = null
  return function () {
    if (!instance) {
      instance = new SingleDog()
    }
    return instance
  }
})()

const s1 = SingleDog.getInstance()
const s2 = SingleDog.getInstance()

console.log(s1 === s2);



